<?php
// Запрет прямого доступа.
defined('_JEXEC') or die;
 
/**
* Файл-скрипт для компонента HelloWorld.
*/
class Com_CalcInstallerScript
{
    /**
     * Метод для установки компонента.
     *
     * @param   object  $parent  Класс, который вызывает этом метод.
     * @return  void
     */
    public function install($parent)
    {
        // После установки
        $parent->getParent()->setRedirectURL('index.php?option=com_calc');
        echo '<p><a class="btn btn-success" type="button" href="index.php?option=com_calc&install=en">English demo data</a></p>';
        echo '<p><a class="btn btn-success" type="button" href="index.php?option=com_calc&install=ru">Русские демо данные</a></p>';

    }
 
    /**
     * Метод для удаления компонента.
     *
     * @param   object  $parent  Класс, который вызывает этом метод.
     * @return  void
     */
    public function uninstall($parent)
    {
        // После удаления
        echo '<p>' . JText::_('COM_CALC_UNINSTALL_TEXT') . '</p>';
    }
 
    /**
     * Метод для обновления компонента.
     *
     * @param   object  $parent  Класс, который вызывает этом метод.
     * @return  void
     */
    public function update($parent)
    {
        // После обновления
        echo '<p>' . JText::sprintf('COM_CALC_UPDATE_TEXT', $parent->get('manifest')->version) . '</p>';
    }
 
    /**
     * Метод, который исполняется до install/update/uninstall.
     *
     * @param   object  $type    Тип изменений: install, update или discover_install
     * @param   object  $parent  Класс, который вызывает этом метод. Класс, который вызывает этом метод.
     *
     * @return  void
     */
    public function preflight($type, $parent)
    {
        // Type - тип установка/обновление/удаление
        echo '<p>' . JText::_('COM_CALC_PREFLIGHT_' . strtoupper($type) . '_TEXT') . '</p>';
    }
 
    /**
     * Метод, который исполняется после install/update/uninstall.
     *
     * @param   object  $type    Тип изменений: install, update или discover_install
     * @param   object  $parent  Класс, который вызывает этом метод. Класс, который вызывает этом метод.
     *
     * @return  void
     */
    public function postflight($type, $parent)
    {
        // Type - тип установка/обновление/удаление
        echo '<p>' . JText::_('COM_CALC_POSTFLIGHT_' . strtoupper($type) . '_TEXT') . '</p>';
    }
}